package cn.maszy.service.impl.projectmanagement;

import java.util.Date;
import java.util.List;
import java.util.UUID;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import cn.maszy.common.Pager;
import cn.maszy.common.SessionFactory;
import cn.maszy.dao.projectmanagement.B_T_Ufp_StatusMapper;
import cn.maszy.model.projectmanagement.B_T_Ufp_Status;
import cn.maszy.model.projectmanagement.B_T_Ufp_StatusExample;
import cn.maszy.model.projectmanagement.B_T_Ufp_StatusExample.Criteria;
import cn.maszy.service.projectmanagement.B_T_Ufp_StatusService;
@Service
public class B_T_Ufp_StatusServiceImpl	implements B_T_Ufp_StatusService {
	
	@Autowired
	private B_T_Ufp_StatusMapper b_T_Ufp_StatusMapper;
	
	/* (non-Javadoc)
	 * @see cn.maszy.service.investment.B_T_Ufp_AdminService#update(cn.maszy.model.investment.B_T_Ufp_Admin, cn.maszy.model.investment.B_T_Ufp_AdminExample)
	 */
	public int update(B_T_Ufp_Status b_T_Ufp_Status) {
		// TODO Auto-generated method stub
		
		 if(b_T_Ufp_Status.getStatusId() == null || "".equals(b_T_Ufp_Status.getStatusId())){
			 b_T_Ufp_Status.setStatusId(UUID.randomUUID().toString());
			 b_T_Ufp_Status.setIsDelete(0);
			 b_T_Ufp_Status.setCreateTime(new Date());
			 b_T_Ufp_Status.setCreateUser(SessionFactory.getSessionUserRealNam());
			 return b_T_Ufp_StatusMapper.insert(b_T_Ufp_Status);
		 }
		 else
		 {
			 b_T_Ufp_Status.setUpdateTime(new Date());
			 b_T_Ufp_Status.setUpdateUser(SessionFactory.getSessionUserRealNam());
			 return b_T_Ufp_StatusMapper.updateByPrimaryKeySelective(b_T_Ufp_Status);
		 }
	}
	

	/* (non-Javadoc)
	 * @see cn.maszy.service.investment.B_T_Ufp_AdminService#selectOne(java.lang.String)
	 */
	public B_T_Ufp_Status selectOne(String staffId) {
		// TODO Auto-generated method stub
		B_T_Ufp_Status record=b_T_Ufp_StatusMapper.selectByPrimaryKey(staffId);
		return record;
	}

	/* (non-Javadoc)
	 * @see cn.maszy.service.investment.B_T_Ufp_AdminService#delete(java.lang.String)
	 */
	public int delete(String checkIds) {
		// TODO Auto-generated method stub
		
		for (String id : checkIds.split(", ")) {
			
			b_T_Ufp_StatusMapper.deleteByPrimaryKey(id);
		}
		return 1;
	}

	/* (non-Javadoc)
	 * @see cn.maszy.service.investment.B_T_Ufp_AdminService#count(cn.maszy.model.investment.B_T_Ufp_AdminExample)
	 */
	public int count(B_T_Ufp_StatusExample example,B_T_Ufp_StatusMapper b_T_Ufp_StatusMapper) {
		// TODO Auto-generated method stub
		return b_T_Ufp_StatusMapper.countByExample(example);
	}

	/* (non-Javadoc)
	 * @see cn.maszy.service.investment.B_T_Ufp_AdminService#selectList(cn.maszy.model.investment.B_T_Ufp_Admin)
	 */
	public Pager<B_T_Ufp_Status> selectList(B_T_Ufp_Status b_T_Ufp_Status,Pager<B_T_Ufp_Status> pager) {
		// TODO Auto-generated method stub
		// 添加查询条件
		B_T_Ufp_StatusExample example=new B_T_Ufp_StatusExample();
		Criteria criteria = example.createCriteria();
			if(b_T_Ufp_Status!=null){
			if(b_T_Ufp_Status.getStatusName()!=null && !"".equals(b_T_Ufp_Status.getStatusName())){
				criteria.andStatusNameLike("%"+b_T_Ufp_Status.getStatusName()+"%");
			} 
		}
		criteria.andIsDeleteEqualTo(0);
		example.or(criteria);
		int totalCount=new B_T_Ufp_StatusServiceImpl().count(example,b_T_Ufp_StatusMapper);
		pager.setTotalRecords(totalCount);
		example.setLimitStart(pager.getStartRecord());
		example.setLimitEnd(pager.getPageSize());
		example.setOrderByClause(pager.getOrderField()+" "+pager.getOrderDirection());
		
		// 取得总的记录条数
		List<B_T_Ufp_Status>  list=b_T_Ufp_StatusMapper.selectByExample(example);
		pager.setPageRecords(list);
		return pager;
	}
}
